Skip to content

Conversation

@SeddikBellamine
Copy link
Contributor

@SeddikBellamine SeddikBellamine commented Jul 11, 2025

🚀 Migration to GitHub Actions and Deployment Enhancements

This PR migrates the project from Drone CI to GitHub Actions while maintaining all existing functionality and adding significant improvements to the deployment workflow.

🔄 CI/CD Migration

Removed Drone CI Pipelines

  • Cleaned up legacy Drone CI support from deployment scripts

🐳 Docker and Sconification Enhancements

DApp Deployment Workflow

  • Build & Push: Automated Docker image building with version-based tagging
  • Sconification: Integration with reusable sconify workflow (v2.1.0)
  • Smart Tagging: Conditional dev/prod tag prefixes (dev- for dev environment)
  • Sconified Image Tags: Generate tags in format {version}-scone-prod-{sconify-version}

Deployment Scripts

  • Updated deployment-dapp/src/config/config.ts to accept sconified image tags via environment variables
  • Enhanced deployment scripts to work with GitHub Actions environment variables
  • Removed legacy Drone CI support and cleaned up environment variable handling

📦 Release Management

Release-Please Configuration

  • Updated release-please-config.json with proper alpha version handling
  • Added include-component-in-tag: true for proper tag naming
  • Configured prerelease settings for alpha versions
  • Updated changelog sections to use simple text format

Monorepo Support

  • Configured independent releases for SDK and DApp packages
  • Proper version tracking in .release-please-manifest.json
  • Support for separate changelog files for each package

🧪 Testing Improvements

E2E Test Fixes

  • Fixed contact fetching tests by adding proper waits for subgraph indexing
  • Resolved sendTelegram test failures with workerpool order handling
  • Added error handling for workerpool ENS resolution in test environment

🔧 Dependencies and Tools

Updated Dependencies

  • Upgraded iexec dependency in deployment-dapp to latest version
  • Updated sconify reusable workflow to v2.1.0
  • Enhanced TypeScript configurations and build tools

Development Tools

  • Added comprehensive linting and formatting workflows
  • Implemented conventional commit enforcement
  • Enhanced error handling and logging throughout the codebase

🎯 Key Benefits

  1. Modern CI/CD: Full migration to GitHub Actions with better integration
  2. Enhanced Security: Improved sconification workflow with proper versioning
  3. Automated Releases: Streamlined release process with conventional commits
  4. Better Testing: More robust test infrastructure with proper error handling
  5. Monorepo Support: Independent versioning and releases for SDK and DApp
  6. Improved Deployment: Smart tagging and environment-specific configurations

🔍 Testing

  • All existing tests pass with the new GitHub Actions setup
  • E2E tests have been fixed and enhanced
  • Deployment workflows tested with both dev and prod environments
  • Release-please configuration validated for alpha version handling

📋 Migration Checklist

  • Migrate all CI/CD pipelines to GitHub Actions
  • Update deployment scripts for GitHub Actions compatibility
  • Enhance sconification workflow with proper versioning
  • Configure release-please for monorepo with alpha versions
  • Fix all test infrastructure and E2E tests
  • Update dependencies and development tools
  • Remove legacy Drone CI support
  • Add comprehensive documentation and error handling

This PR represents a complete modernization of the project's CI/CD infrastructure while maintaining all existing functionality and adding significant improvements to deployment, testing, and release management.

- Add step to create sconified image tag in format: {version}-scone-prod-{sconify-version}
- Add dev- prefix for dapp-dev environment
- Pass SCONIFIED_IMAGE_TAG environment variable to deployment scripts
- Update config.ts to use environment variable for Docker image tags
- Add include-component-in-tag for proper tag naming
- Update changelog sections to use simple text format
- Add prerelease configuration for alpha versions
- Include versioning strategy for prerelease handling
- Update dapp-deploy.yml workflow configuration
- Update release.yml to use release-please-v2.1.0
- Clean up deployment-dapp config.ts
@SeddikBellamine SeddikBellamine merged commit 7bab3dc into main Jul 11, 2025
2 checks passed
@SeddikBellamine SeddikBellamine deleted the ci/gha-test branch July 11, 2025 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants